package com.yufubao.service.service.management.authorization;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yufubao.framework.result.PageUtils;
import com.yufubao.model.pojo.management.authorization.ManagerEntity;
import com.yufubao.model.vo.management.authorization.ManagerAddVo;
import com.yufubao.model.vo.management.sys.UpdateManagerRoleVO;

import java.util.List;
import java.util.Map;

/**
 * 后台管理系统-管理员表
 *
 * @author zhangzhan
 * @email 52194440@qq.com
 * @date 2024-09-02 19:59:00
 */
public interface ManagerService extends IService<ManagerEntity> {

    /**
     * @description 条件查询
     * @param params
     * @return com.yufubao.framework.result.PageUtils
     * @author zhangyiheng
     * @date 2024/9/11 17:50
     */
    PageUtils queryPage(Map<String, Object> params);

    /**
     * @description 后台管理系统-修改密码
     * @param oldPwd
     * @param newPwd
     * @return void
     * @author zhangyiheng
     * @date 2024/9/8 01:24
     */
    void updatePwd(String oldPwd, String newPwd);

    /**
     * @description 后台管理系统-人员表新增下级
     * @param manager
     * @return void
     * @author zhangyiheng
     * @date 2024/9/12 11:20
     */
    void saveManager(ManagerAddVo manager);

    /**
     * @description 后台管理系统-修改状态
     * @param managerId
     * @return void
     * @author zhangyiheng
     * @date 2024/9/12 12:34
     */
    void updateStatus(Long managerId);

    /**
     * @description 删除下级
     * @param managerIds
     * @return void
     * @author zhangyiheng
     * @date 2024/9/12 12:41
     */
    void remove(Long[] managerIds);

    /**
     * @description 回显修改下级角色的角色信息
     * @param managerId
     * @return com.yufubao.model.vo.management.sys.UpdateManagerRoleVO
     * @author zhangyiheng
     * @date 2024/9/12 22:34
     */
    UpdateManagerRoleVO updateRoleEcho(Long managerId);

    /**
     * @description 更新下级角色信息
     * @param roleIds
     * @param managerId
     * @return void
     * @author zhangyiheng
     * @date 2024/9/12 22:41
     */
    void updateRole(List<Long> roleIds, Long managerId);

//    /**
//     * @description 后台管理系统-查询各级别人员信息
//     *
//     * @return com.yufubao.framework.result.PageUtils
//     * @author zhangyiheng
//     * @date 2024/9/12 09:44
//     */
//    PageUtils getAllLeveManager();


}

